package com.orderplus.opshop.synces.bean;

import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 商品详情数据结构
 * Created by zhouxj6112 on 2019/1/4.
 */
@Data
public class ProductDetailModelTh {
	/**
	 * 基础分类信息
	 */
	@Data
	public static class Category {
		private String categoryId;
		private String categoryName;
	}

	/**
	 * 商品属性集
	 */
	@Data
	public static class Attribute {
		/**
		 * 属性对应的值
		 */
		@Data
		public static class AttributeValue {
			private String valueId;
			private String valueName;
			private String valueNameTh;
			private String imgUrl;
		}

		private String attributeId;
		private String attributeName;
		private String attributeNameTh;
		private Map<String, List<AttributeValue>> values;
	}

	/**
	 * sku信息
	 */
	@Data
	public static class ProductSku {
		/**
		 * 自增id
		 */
		private String id;
		private String productId;
		/**
		 * 实际的sku id
		 */
		private String skuId;
		/**
		 * 其它平台原始的id
		 */
		private String aliSkuId;
		private Map<String, List<Attribute.AttributeValue>> attrs;
		/**
		 * 起批量
		 */
		private Integer limit;
		private Integer count;
		/**
		 * 进货价 (中国:人民币,存数据库的时候需要变成美元)
		 */
		List<SkuPrice> pricesIn;

		List<SkuPrice> pricesJson;
		/**
		 * 售卖价 (美国:美元)
		 */
		List<SkuPrice> pricesOutCn;
		/**
		 * 售卖价 (泰国:美元)
		 */
		List<SkuPrice> pricesOutTh;
		/**
		 * 售卖价 (印尼:美元)
		 */
		List<SkuPrice> pricesOutId;

		/**
		 * sku价格
		 */
		@Data
		public static class SkuPrice {
			/**
			 * 起批量
			 */
			private Integer limit;
			private Double price;
		}
	}

	/**
	 * 商品属性
	 */
	@Data
	public static class ProductProperty {
		private String propId;
		private String propKey;
		private String propKeyTh;
		private List<PropsValue> propValueList;

		@Data
		public static class PropsValue {
			private String valueId;
			private String propId;
			private String propValue;
			private String propValueTh;
		}
	}

	private String productId;
	private String pmsCode;
	/**
	 * 拉取的时候,在原有平台上的id
	 */
	private String otherPlatformId;
	private String from;
	private String fromUrl;
	private String fromShopName;
	private String title;
	private String titleTh;
	private String[] images;
	/**
	 * 主图,用于列表页展示用的
	 */
	private String mainImage;
	/**
	 * 介绍视频url
	 */
	private String videoUrl;
	/**
	 * 销售价格区间
	 */
	private String priceRange;
	/**
	 * 商品状态
	 */
	private String status;
	/**
	 * 收集到其它平台的分类id (需要与我们的基础分类做对应关系)
	 */
	private Category collectCategory;
	/**
	 * 商品的基础分类
	 */
	private Category baseCategory;
	private Map<String, Attribute> attributeMap;
	private Map<String, ProductSku> skuMap;
	/**
	 * 属性集合
	 */
	private List<ProductProperty> propertyListSrc;
	/**
	 * op shop 的商品属性
	 */
	private List<ProductProperty> propertyListIds;
}
